﻿using blackhouse.JavaScript.JQuery;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace blackhouse.Web.Controls.CookiePolicy {
    public partial class CookiePolicyModule : System.Web.UI.UserControl {

        #region Properties

        [Browsable(true)]
        [DefaultValue("Wykorzystanie cookies")]
        public string Title {
            get;
            set;
        }

        [Browsable(true)]
        [DefaultValue("Nasz serwis, by ułatwić korzystanie ze wszystkich funkcji, używa plików cookies. Korzystając z niego wyrażasz zgodę na używanie plików cookies zgodnie z aktualnymi ustawieniami Twojej przeglądarki. Jeżeli nie zgadzasz się na to, zmień ustawienia swojej przeglądarki.")]
        public string Description {
            get;
            set;
        }

        [Browsable(true)]
        [DefaultValue("/polityka-cookies")]
        public string CookiePolicyLinkUrl {
            get;
            set;
        }

        [Browsable(true)]
        [DefaultValue("zobacz politykę cookies")]
        public string CookiePolicyLinkText {
            get;
            set;
        }

        #endregion

        #region Constructors

        public CookiePolicyModule() {
            this.Title = "Wykorzystanie cookies";
            this.Description = "Nasz serwis, by ułatwić korzystanie ze wszystkich funkcji, używa plików cookies. Korzystając z niego wyrażasz zgodę na używanie plików cookies zgodnie z aktualnymi ustawieniami Twojej przeglądarki. Jeżeli nie zgadzasz się na to, zmień ustawienia swojej przeglądarki.";
            this.CookiePolicyLinkUrl = "/polityka-cookies";
            this.CookiePolicyLinkText = "zobacz politykę cookies";
        }

        #endregion

        #region Methods

        protected override void OnLoad(EventArgs e) {
            base.OnLoad(e);

            if (this.CookieAgree())
                this.cookieContent.CssClass += " content-agree";

            this.ltlHeaderTitle.Text = this.Title;
            this.ltlDescription.Text = this.Description;
            this.lnkCookiePolicy.NavigateUrl = this.CookiePolicyLinkUrl;
            this.lnkCookiePolicy.Text = this.CookiePolicyLinkText;

            JQueryLibraries jql = new JQueryLibraries();
            jql.IncludeJQueryCookie();
            jql.IncludeFileBasedOnJQuery("blackhouse.Web.Controls.CookiePolicy.cookie-policy.js,blackhouse.Web.Controls", true);
        }

        private bool CookieAgree() {
            HttpCookie cookie = this.Request.Cookies["cookie-agree"];
            return cookie != null && cookie.Value == "1";
        }

        #endregion

    }
}